package hcn.protocol.brandnew.feiyong.feiyongqingdan;

import lombok.Data;
import javax.xml.bind.annotation.*;
import java.util.List;
import hcn.protocol.brandnew.BaseRequest;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import ctd.util.xml.jaxb.DateTimeAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * 发票信息查询-响应消息(成功) - ODS_04030009_SUC
 *
 * @author enjoyLife
 */
@Data
@XmlRootElement(name = "Data")
@XmlAccessorType(XmlAccessType.FIELD)
public class RefundBySelfPaidResponse {

    /**
     * 发票集合
     */
    @XmlElementWrapper(name = "InvoiceLists")
    @XmlElement(name = "InvoiceList")
    private List<InvoiceList> invoiceLists;

    @Data
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class InvoiceList {

        /**
         * 就诊医疗机构组织机构代码
         */
        @XmlElement(name = "VisitOrganization")
        private String visitOrganization;
        /**
         * 就诊机构名称
         */
        @XmlElement(name = "VisitOrganizationName")
        private String visitOrganizationName;
        /**
         * 科室代码
         */
        @XmlElement(name = "DeptCode")
        private String deptCode;
        /**
         * 科室名称
         */
        @XmlElement(name = "DeptName")
        private String deptName;
        /**
         * 发票开具时间
         */
        @XmlElement(name = "InvoiceTime")
        @XmlJavaTypeAdapter(DateTimeAdapter.class)
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date invoiceTime;
        /**
         * 预结算标识
         */
        @XmlElement(name = "PaymentNumber")
        private String paymentNumber;
        /**
         * 业务类别
         */
        @XmlElement(name = "BusType")
        private String busType;
        /**
         * 业务名称
         */
        @XmlElement(name = "BusTypeName")
        private String busTypeName;
        /**
         * 发票类别
         */
        @XmlElement(name = "InvoiceType")
        private String invoiceType;
        /**
         * 患者姓名
         */
        @XmlElement(name = "Name")
        private String name;
        /**
         * 总计金额
         */
        @XmlElement(name = "TotalCost")
        private String totalCost;
        /**
         * 发票号码
         */
        @XmlElement(name = "InvoiceCode")
        private String invoiceCode;
        /**
         * 发票状态
         */
        @XmlElement(name = "InvoiceStatus")
        private String invoiceStatus;
        /**
         * 电子校验码
         */
        @XmlElement(name = "Random")
        private String random;
        /**
         * 电子票据代码
         */
        @XmlElement(name = "BillBatchCode")
        private String billBatchCode;
        /**
         * 电子票据号码
         */
        @XmlElement(name = "BillNo")
        private String billNo;
    }

}
